package com.zy.parser.logicflow;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

/**
 * LogicFlow的连线
 *
 * @author hanhuafeng
 * @Description:
 * @date : 20:18 2023/5/30
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LfEdge {
    /**
     * 前端定义的节点id
     */
    private String id;
    /**
     * 节点类型 对应的是ElNameEnum
     */
    private String type;
    /**
     * 源节点id
     */
    private String sourceNodeId;
    /**
     * 目标节点id
     */
    private String targetNodeId;
    /**
     * 起始点坐标
     */
    private LfPoint startPoint;
    /**
     * 终点坐标
     */
    private LfPoint endPoint;
    /**
     * 路径节点信息
     */
    private List<LfPoint> pointsList;
    /**
     * 节点参数
     */
    private Map<String, Object> properties;
    /**
     * 文本信息
     */
    private TextEntity text;
    /**
     * 源节点锚点id
     */
    private String sourceAnchorId;
    /**
     * 目标节点锚点id
     */
    private String targetAnchorId;

    @Data
    public static class TextEntity {
        /**
         * 文本信息
         */
        private String value;
        /**
         * 文本位置x
         */
        private Integer x;
        /**
         * 文本位置y
         */
        private Integer y;
    }
}
